package bean;

import java.util.LinkedList;
import java.util.List;

public class Partida {
	private int publico;
	private Time timeCasa;
	private Time timeFora;
	
	private List<EventoPartida> eventos;
	private EstatisticaPartida dadosCasa;
	private EstatisticaPartida dadosFora;
	
	public Partida() {
		eventos = new LinkedList<EventoPartida>();
		dadosCasa = new EstatisticaPartida();
		dadosFora = new EstatisticaPartida();
	}
	
	public int getPublico() {
		return publico;
	}

	public void setPublico(int publico) {
		this.publico = publico;
	}

	public Time getTimeCasa() {
		return timeCasa;
	}

	public void setTimeCasa(Time timeCasa) {
		this.timeCasa = timeCasa;
	}

	public Time getTimeFora() {
		return timeFora;
	}

	public void setTimeFora(Time timeFora) {
		this.timeFora = timeFora;
	}

	public List<EventoPartida> getEventos() {
		return eventos;
	}

	public void setEventos(List<EventoPartida> eventos) {
		this.eventos = eventos;
	}
	
	public void inserirEvento(EventoPartida eventoPartida) {
		this.eventos.add(eventoPartida);
	}
	
	public EstatisticaPartida getDadosCasa() {
		return dadosCasa;
	}

	public void setDadosCasa(EstatisticaPartida dadosCasa) {
		this.dadosCasa = dadosCasa;
	}

	public EstatisticaPartida getDadosFora() {
		return dadosFora;
	}

	public void setDadosFora(EstatisticaPartida dadosFora) {
		this.dadosFora = dadosFora;
	}
	
	
	public void atualizarDados(int codigoTime, int codDados){
		EstatisticaPartida dados = null;
		if(codigoTime==this.getTimeCasa().getCodigo()){
			dados = this.getDadosCasa();
		}else{
			dados = this.getDadosFora();
		}
		
		switch(codDados){
			case 1:
				dados.setGol(dados.getGol()+1);
				break;
			case 2:
				dados.setFaltas(dados.getFaltas()+1);
				break;
			case 3:
				dados.setCtAmarelo(dados.getCtAmarelo()+1);
				break;
			case 4:
				dados.setCtVermelho(dados.getCtVermelho()+1);
				break;
			case 5:
				dados.setLesoes(dados.getLesoes()+1);
				break;
			case 6:
				dados.setNumLances(dados.getNumLances()+1);
				break;
		}
		
		if(codigoTime==this.getTimeCasa().getCodigo()){
			this.setDadosCasa(dados);
		}else{
			this.setDadosFora(dados);
		}
	}
}
